<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinetis Bootloader Host: elftosb::EncoreBootImage Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinetis Bootloader Host
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   <div id="projectbrief">Host Tools for Kinetis devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Introduction</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classelftosb_1_1_encore_boot_image.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classelftosb_1_1_encore_boot_image-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">elftosb::EncoreBootImage Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Class to manage Encore boot image files.  
 <a href="classelftosb_1_1_encore_boot_image.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_encore_boot_image_8h_source.html">EncoreBootImage.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for elftosb::EncoreBootImage:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="classelftosb_1_1_encore_boot_image__inherit__graph.svg" width="182" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-1-trigger" src="closed.png" alt="+"/> Collaboration diagram for elftosb::EncoreBootImage:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="classelftosb_1_1_encore_boot_image__coll__graph.svg" width="1479" height="204"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:structelftosb_1_1_encore_boot_image_1_1boot__command__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1boot__command__t">boot_command_t</a></td></tr>
<tr class="memdesc:structelftosb_1_1_encore_boot_image_1_1boot__command__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure for a Piano bootloader command.  <a href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1boot__command__t">More...</a><br /></td></tr>
<tr class="separator:structelftosb_1_1_encore_boot_image_1_1boot__command__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structelftosb_1_1_encore_boot_image_1_1boot__image__header__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1boot__image__header__t">boot_image_header_t</a></td></tr>
<tr class="memdesc:structelftosb_1_1_encore_boot_image_1_1boot__image__header__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Header for the entire boot image.  <a href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1boot__image__header__t">More...</a><br /></td></tr>
<tr class="separator:structelftosb_1_1_encore_boot_image_1_1boot__image__header__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:unionelftosb_1_1_encore_boot_image_1_1boot__image__header__t_8____unnamed____"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#unionelftosb_1_1_encore_boot_image_1_1boot__image__header__t_8____unnamed____">boot_image_header_t.__unnamed__</a></td></tr>
<tr class="separator:unionelftosb_1_1_encore_boot_image_1_1boot__image__header__t_8____unnamed____"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structelftosb_1_1_encore_boot_image_1_1boot__image__header__t_8____unnamed_____8____unnamed____"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1boot__image__header__t_8____unnamed_____8____unnamed____">boot_image_header_t.__unnamed__.__unnamed__</a></td></tr>
<tr class="separator:structelftosb_1_1_encore_boot_image_1_1boot__image__header__t_8____unnamed_____8____unnamed____"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_boot_command.html">BootCommand</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract base class for all bootloader commands.  <a href="classelftosb_1_1_encore_boot_image_1_1_boot_command.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_boot_section.html">BootSection</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A bootable section of an Encore boot image.  <a href="classelftosb_1_1_encore_boot_image_1_1_boot_section.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_call_command.html">CallCommand</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call function bootloader command.  <a href="classelftosb_1_1_encore_boot_image_1_1_call_command.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_cipher_block_generator.html">CipherBlockGenerator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for objects that produce cipher blocks.  <a href="classelftosb_1_1_encore_boot_image_1_1_cipher_block_generator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_data_section.html">DataSection</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A non-bootable section of an Encore boot image.  <a href="classelftosb_1_1_encore_boot_image_1_1_data_section.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structelftosb_1_1_encore_boot_image_1_1dek__dictionary__entry__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1dek__dictionary__entry__t">dek_dictionary_entry_t</a></td></tr>
<tr class="memdesc:structelftosb_1_1_encore_boot_image_1_1dek__dictionary__entry__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Entry in <a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1dek__dictionary__t" title="The DEK dictionary always follows the image header, in the next cipher block. ">elftosb::EncoreBootImage::dek_dictionary_t</a>.  <a href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1dek__dictionary__entry__t">More...</a><br /></td></tr>
<tr class="separator:structelftosb_1_1_encore_boot_image_1_1dek__dictionary__entry__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structelftosb_1_1_encore_boot_image_1_1dek__dictionary__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1dek__dictionary__t">dek_dictionary_t</a></td></tr>
<tr class="memdesc:structelftosb_1_1_encore_boot_image_1_1dek__dictionary__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">The DEK dictionary always follows the image header, in the next cipher block.  <a href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1dek__dictionary__t">More...</a><br /></td></tr>
<tr class="separator:structelftosb_1_1_encore_boot_image_1_1dek__dictionary__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_erase_command.html">EraseCommand</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase bootloader command.  <a href="classelftosb_1_1_encore_boot_image_1_1_erase_command.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_fill_command.html">FillCommand</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pattern fill bootloader command.  <a href="classelftosb_1_1_encore_boot_image_1_1_fill_command.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_jump_command.html">JumpCommand</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Jump to address bootloader command.  <a href="classelftosb_1_1_encore_boot_image_1_1_jump_command.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_load_command.html">LoadCommand</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load data bootloader command.  <a href="classelftosb_1_1_encore_boot_image_1_1_load_command.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_mem_enable_command.html">MemEnableCommand</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory Enable bootloader command.  <a href="classelftosb_1_1_encore_boot_image_1_1_mem_enable_command.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_mode_command.html">ModeCommand</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change boot mode bootloader command.  <a href="classelftosb_1_1_encore_boot_image_1_1_mode_command.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_nop_command.html">NopCommand</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">No operation bootloader command.  <a href="classelftosb_1_1_encore_boot_image_1_1_nop_command.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_program_command.html">ProgramCommand</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Program persistent bits bootloader command.  <a href="classelftosb_1_1_encore_boot_image_1_1_program_command.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_reset_command.html">ResetCommand</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset target bootloader command.  <a href="classelftosb_1_1_encore_boot_image_1_1_reset_command.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html">Section</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for a section of an Encore boot image.  <a href="classelftosb_1_1_encore_boot_image_1_1_section.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structelftosb_1_1_encore_boot_image_1_1section__header__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1section__header__t">section_header_t</a></td></tr>
<tr class="memdesc:structelftosb_1_1_encore_boot_image_1_1section__header__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about each section, held in the section table.  <a href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1section__header__t">More...</a><br /></td></tr>
<tr class="separator:structelftosb_1_1_encore_boot_image_1_1section__header__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structelftosb_1_1_encore_boot_image_1_1section__table__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1section__table__t">section_table_t</a></td></tr>
<tr class="memdesc:structelftosb_1_1_encore_boot_image_1_1section__table__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">An index of all sections within the boot image.  <a href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1section__table__t">More...</a><br /></td></tr>
<tr class="separator:structelftosb_1_1_encore_boot_image_1_1section__table__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_tag_command.html">TagCommand</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html" title="Base class for a section of an Encore boot image. ">Section</a> tag bootloader command.  <a href="classelftosb_1_1_encore_boot_image_1_1_tag_command.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a322b233cfa40e2e7f074d006ef2d83a3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#a322b233cfa40e2e7f074d006ef2d83a3ae65e961fe221cf36b45883b9d58aa80f">ROM_DISPLAY_PROGRESS</a> = (1 &lt;&lt; 0), 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#a322b233cfa40e2e7f074d006ef2d83a3a35a8c8a5b113b3320c2405026d77d534">ROM_VERBOSE_PROGRESS</a> = (1 &lt;&lt; 1)
<br />
 }<tr class="memdesc:a322b233cfa40e2e7f074d006ef2d83a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag constants for the m_flags field of <a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1boot__image__header__t" title="Header for the entire boot image. ">elftosb::EncoreBootImage::boot_image_header_t</a>.  <a href="classelftosb_1_1_encore_boot_image.html#a322b233cfa40e2e7f074d006ef2d83a3">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a322b233cfa40e2e7f074d006ef2d83a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a923b8c5725f62f85c6a557e437b9699d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#a923b8c5725f62f85c6a557e437b9699da8b26ac6aadd820c16038228cae672974">ROM_IMAGE_HEADER_SIGNATURE</a>, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#a923b8c5725f62f85c6a557e437b9699daf6e8d5cc87e761073ba57f223473dc95">ROM_IMAGE_HEADER_SIGNATURE2</a>, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#a923b8c5725f62f85c6a557e437b9699da3d2e6182924fe2b2e3abc6c95a94afd4">ROM_BOOT_IMAGE_MAJOR_VERSION</a> = 1, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#a923b8c5725f62f85c6a557e437b9699da91f94b3db205d7c04eface71df2bf05a">ROM_BOOT_IMAGE_MINOR_VERSION</a> = 2
<br />
 }</td></tr>
<tr class="separator:a923b8c5725f62f85c6a557e437b9699d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cae9f81a039661c829ca51d954e3560"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classelftosb_1_1_encore_boot_image.html#a8cae9f81a039661c829ca51d954e3560ac6848708150e43ac9a8302b8a00dcc1f">BOOT_IMAGE_MINIMUM_SECTION_ALIGNMENT</a> = sizeof(cipher_block_t)
 }</td></tr>
<tr class="separator:a8cae9f81a039661c829ca51d954e3560"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab26b61b6441c5467c6d4cddb1ff76690"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#ab26b61b6441c5467c6d4cddb1ff76690a94aa6b74f170c47cae4cf0b3b9c81994">ROM_SECTION_BOOTABLE</a> = (1 &lt;&lt; 0), 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#ab26b61b6441c5467c6d4cddb1ff76690a576b9de05acd56d12c6171b0ad67353f">ROM_SECTION_CLEARTEXT</a>
<br />
 }<tr class="memdesc:ab26b61b6441c5467c6d4cddb1ff76690"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html" title="Base class for a section of an Encore boot image. ">Section</a> flags constants for the m_flags field of <a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1section__header__t" title="Information about each section, held in the section table. ">elftosb::EncoreBootImage::section_header_t</a>.  <a href="classelftosb_1_1_encore_boot_image.html#ab26b61b6441c5467c6d4cddb1ff76690">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ab26b61b6441c5467c6d4cddb1ff76690"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf67c041c6d0586c79b85e6556f97dde"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddea3dbce29fdf6055d2f3e21e9360ab921c">ROM_NOP_CMD</a> = 0x00, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddea360fe5535a567967683170c50d7411a7">ROM_TAG_CMD</a> = 0x01, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddea482ff1ec8ceb69c4d6e7ba8e2944dea1">ROM_LOAD_CMD</a> = 0x02, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddea41cf0dfec1eea6f229d3eb2163ab3404">ROM_FILL_CMD</a> = 0x03, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddeaa530f91c73779b2c26dda739b9ea157d">ROM_JUMP_CMD</a> = 0x04, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddeadf5042cf30c7a189ca9e435cf55e07ce">ROM_CALL_CMD</a> = 0x05, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddea4123c44ce1b76a8b2b4897e212f462b8">ROM_MODE_CMD</a> = 0x06, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddead0f7be982547d05640e7b9c02ecd6f8d">ROM_ERASE_CMD</a> = 0x07, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddea32b7c944cb953f24f6998ad5eb9f835d">ROM_RESET_CMD</a> = 0x08, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddea231273ec046a1a6c72b79e9211ada60c">ROM_MEM_ENABLE_CMD</a> = 0x09, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddead71bc49b8e71814f167d2f8d268d546d">ROM_PROG_CMD</a> = 0x0a
<br />
 }<tr class="memdesc:aaf67c041c6d0586c79b85e6556f97dde"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_bootloader.html" title="Bootloader class. ">Bootloader</a> command tag constants.  <a href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97dde">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:aaf67c041c6d0586c79b85e6556f97dde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9bb85f37a25381b15a7e450921e38b8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classelftosb_1_1_encore_boot_image.html#ac9bb85f37a25381b15a7e450921e38b8ad76d5ef3c054c23e02c62767d64d2591">ROM_LAST_TAG</a> = (1 &lt;&lt; 0)
 }<tr class="memdesc:ac9bb85f37a25381b15a7e450921e38b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag field constants for <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddea360fe5535a567967683170c50d7411a7" title="Section tag command. ">ROM_TAG_CMD</a>.  <a href="classelftosb_1_1_encore_boot_image.html#ac9bb85f37a25381b15a7e450921e38b8">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ac9bb85f37a25381b15a7e450921e38b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb96656be23af34be4b39d8180896933"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classelftosb_1_1_encore_boot_image.html#afb96656be23af34be4b39d8180896933ab977279a608b195d009d18365cae1b6f">ROM_LOAD_DCD</a> = (1 &lt;&lt; 0)
 }<tr class="memdesc:afb96656be23af34be4b39d8180896933"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag field constants for <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddea482ff1ec8ceb69c4d6e7ba8e2944dea1" title="Load data command. ">ROM_LOAD_CMD</a>.  <a href="classelftosb_1_1_encore_boot_image.html#afb96656be23af34be4b39d8180896933">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:afb96656be23af34be4b39d8180896933"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa09338280eb11c08be1cc915280609f2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#aa09338280eb11c08be1cc915280609f2a9511d4af09fd50de5e8a2e50e72f8908">ROM_FILL_BYTE</a> = 0, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#aa09338280eb11c08be1cc915280609f2a5d37310f36e10837bd53a2cd86a73529">ROM_FILL_HALF_WORD</a> = 1, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#aa09338280eb11c08be1cc915280609f2a8e10e316e7030ade208692a0589ee1f8">ROM_FILL_WORD</a> = 2
<br />
 }<tr class="memdesc:aa09338280eb11c08be1cc915280609f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag field constants for <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddea41cf0dfec1eea6f229d3eb2163ab3404" title="Pattern fill command. ">ROM_FILL_CMD</a>.  <a href="classelftosb_1_1_encore_boot_image.html#aa09338280eb11c08be1cc915280609f2">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:aa09338280eb11c08be1cc915280609f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac899003d6585e7dad5be1d4c0b2fb60e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#ac899003d6585e7dad5be1d4c0b2fb60eadcaf9e745066f375edab08f4fb5fe93d">ROM_HAB_EXEC</a> = (1 &lt;&lt; 0), 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#ac899003d6585e7dad5be1d4c0b2fb60ea1ecdb39f167619a04751f3110cb6d52a">ROM_JUMP_SP_MASK</a> = (1 &lt;&lt; 1)
<br />
 }<tr class="memdesc:ac899003d6585e7dad5be1d4c0b2fb60e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag field constants for <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddeaa530f91c73779b2c26dda739b9ea157d" title="Jump to address command. ">ROM_JUMP_CMD</a> and <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddeadf5042cf30c7a189ca9e435cf55e07ce" title="Call function command. ">ROM_CALL_CMD</a>.  <a href="classelftosb_1_1_encore_boot_image.html#ac899003d6585e7dad5be1d4c0b2fb60e">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ac899003d6585e7dad5be1d4c0b2fb60e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f837b7d487968fc7a45cd333ad8ddc8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#a0f837b7d487968fc7a45cd333ad8ddc8ae389e06924f01e12dbd93d2b36a533c3">ROM_MEM_CTRL_MASK</a> = 0x0f, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#a0f837b7d487968fc7a45cd333ad8ddc8afa0a272c210488a4842caca93f3c6a1b">ROM_MEM_CTRL_SHIFT</a> = 8
<br />
 }<tr class="memdesc:a0f837b7d487968fc7a45cd333ad8ddc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory Controller ID flags field for <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddead0f7be982547d05640e7b9c02ecd6f8d" title="Flash erase command. ">ROM_ERASE_CMD</a> and <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddea231273ec046a1a6c72b79e9211ada60c" title="Memory Enable command. ">ROM_MEM_ENABLE_CMD</a>.  <a href="classelftosb_1_1_encore_boot_image.html#a0f837b7d487968fc7a45cd333ad8ddc8">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a0f837b7d487968fc7a45cd333ad8ddc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62d2bf49ae747642b23e701d3f241573"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#a62d2bf49ae747642b23e701d3f241573a4f26730cb8c3c5d39acf4c13cd04547f">ROM_MEM_SPACE_MASK</a> = 0x0f, 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#a62d2bf49ae747642b23e701d3f241573a55b9cb661d94d6b6ced61619eb95596d">ROM_MEM_SPACE_SHIFT</a> = 8
<br />
 }<tr class="memdesc:a62d2bf49ae747642b23e701d3f241573"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory Space ID flags field.  <a href="classelftosb_1_1_encore_boot_image.html#a62d2bf49ae747642b23e701d3f241573">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a62d2bf49ae747642b23e701d3f241573"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ec985e228a39441dc3f55486ac2b3f3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#a1ec985e228a39441dc3f55486ac2b3f3a21317be4b82ca7b7cef1f89ebfc86fc7">ROM_ERASE_ALL_MASK</a> = (1 &lt;&lt; 0), 
<br />
&#160;&#160;<a class="el" href="classelftosb_1_1_encore_boot_image.html#a1ec985e228a39441dc3f55486ac2b3f3ad59b7b1d4bdd58fc343567f53f5785f4">ROM_ERASE_ALL_UNSECURE_MASK</a> = (1 &lt;&lt; 1)
<br />
 }<tr class="memdesc:a1ec985e228a39441dc3f55486ac2b3f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags for the <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddead0f7be982547d05640e7b9c02ecd6f8d" title="Flash erase command. ">ROM_ERASE_CMD</a>.  <a href="classelftosb_1_1_encore_boot_image.html#a1ec985e228a39441dc3f55486ac2b3f3">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a1ec985e228a39441dc3f55486ac2b3f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedbf37ed729ad7f04f5912f7c384923f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classelftosb_1_1_encore_boot_image.html#aedbf37ed729ad7f04f5912f7c384923fa0add3d7a4787059d6abc70c5308b7d5b">ROM_PROG_8BYTE_MASK</a> = (1 &lt;&lt; 0)
 }<tr class="memdesc:aedbf37ed729ad7f04f5912f7c384923f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags for the <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddead71bc49b8e71814f167d2f8d268d546d" title="Program persistent bits command. ">ROM_PROG_CMD</a>.  <a href="classelftosb_1_1_encore_boot_image.html#aedbf37ed729ad7f04f5912f7c384923f">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:aedbf37ed729ad7f04f5912f7c384923f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a373ff82c05565768a7d1d14d558d7f3d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classelftosb_1_1_encore_boot_image.html#a373ff82c05565768a7d1d14d558d7f3da82f01c806447b217d0947e64ec24db42">ROM_MEM_ID_QSPI</a> = 1
 }<tr class="memdesc:a373ff82c05565768a7d1d14d558d7f3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constants for Memory ID.  <a href="classelftosb_1_1_encore_boot_image.html#a373ff82c05565768a7d1d14d558d7f3d">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a373ff82c05565768a7d1d14d558d7f3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdb9845d3378745374aed342cfae479e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classelftosb_1_1_encore_boot_image.html#afdb9845d3378745374aed342cfae479ea7f81de6ac99a5e1ce383d5b8bc96a16e">ROM_MEM_SPACE_IFR</a> = 4
 }<tr class="memdesc:afdb9845d3378745374aed342cfae479e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constants for Memory Space.  <a href="classelftosb_1_1_encore_boot_image.html#afdb9845d3378745374aed342cfae479e">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:afdb9845d3378745374aed342cfae479e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeadee36826ff7ea7377658e83073a9ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeadee36826ff7ea7377658e83073a9ee"></a>
typedef std::list&lt; <a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html">Section</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#aeadee36826ff7ea7377658e83073a9ee">section_list_t</a></td></tr>
<tr class="memdesc:aeadee36826ff7ea7377658e83073a9ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of image sections. <br /></td></tr>
<tr class="separator:aeadee36826ff7ea7377658e83073a9ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a085b76c76f4df91c5328e2d4a0f30705"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a085b76c76f4df91c5328e2d4a0f30705"></a>
typedef section_list_t::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#a085b76c76f4df91c5328e2d4a0f30705">section_iterator_t</a></td></tr>
<tr class="memdesc:a085b76c76f4df91c5328e2d4a0f30705"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterator over sections. <br /></td></tr>
<tr class="separator:a085b76c76f4df91c5328e2d4a0f30705"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5d7245a268bc6b6bf1acff201509966"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab5d7245a268bc6b6bf1acff201509966"></a>
typedef section_list_t::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#ab5d7245a268bc6b6bf1acff201509966">const_section_iterator_t</a></td></tr>
<tr class="memdesc:ab5d7245a268bc6b6bf1acff201509966"><td class="mdescLeft">&#160;</td><td class="mdescRight">Const iterator over sections. <br /></td></tr>
<tr class="separator:ab5d7245a268bc6b6bf1acff201509966"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fd906e0ec71d651a4892d14ec252c84"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9fd906e0ec71d651a4892d14ec252c84"></a>
typedef std::vector&lt; <a class="el" href="class_a_e_s_key.html">AES128Key</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#a9fd906e0ec71d651a4892d14ec252c84">key_list_t</a></td></tr>
<tr class="memdesc:a9fd906e0ec71d651a4892d14ec252c84"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of KEKs. <br /></td></tr>
<tr class="separator:a9fd906e0ec71d651a4892d14ec252c84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab81e367ac664f6c0057eed1116706c33"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab81e367ac664f6c0057eed1116706c33"></a>
typedef key_list_t::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#ab81e367ac664f6c0057eed1116706c33">key_iterator_t</a></td></tr>
<tr class="memdesc:ab81e367ac664f6c0057eed1116706c33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterator over KEKs. <br /></td></tr>
<tr class="separator:ab81e367ac664f6c0057eed1116706c33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50defdef155d148db068e295150e17df"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50defdef155d148db068e295150e17df"></a>
typedef key_list_t::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#a50defdef155d148db068e295150e17df">const_key_iterator_t</a></td></tr>
<tr class="memdesc:a50defdef155d148db068e295150e17df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Const iterator over KEKs. <br /></td></tr>
<tr class="separator:a50defdef155d148db068e295150e17df"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:afb1ee3fb83c59e38cfc3ddd94de2da0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb1ee3fb83c59e38cfc3ddd94de2da0b"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#afb1ee3fb83c59e38cfc3ddd94de2da0b">EncoreBootImage</a> ()</td></tr>
<tr class="memdesc:afb1ee3fb83c59e38cfc3ddd94de2da0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:afb1ee3fb83c59e38cfc3ddd94de2da0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a1a1be88592d2b47c5c24d229d42429"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a1a1be88592d2b47c5c24d229d42429"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#a8a1a1be88592d2b47c5c24d229d42429">~EncoreBootImage</a> ()</td></tr>
<tr class="memdesc:a8a1a1be88592d2b47c5c24d229d42429"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a8a1a1be88592d2b47c5c24d229d42429"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a054e62e8f5af64e5a211f625cad5e9f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a054e62e8f5af64e5a211f625cad5e9f9"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#a054e62e8f5af64e5a211f625cad5e9f9">setDriveTag</a> (uint16_t tag)</td></tr>
<tr class="memdesc:a054e62e8f5af64e5a211f625cad5e9f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specify the drive tag to be set in the output file header. <br /></td></tr>
<tr class="separator:a054e62e8f5af64e5a211f625cad5e9f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef93adad47f1f0e2c97848583748831d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aef93adad47f1f0e2c97848583748831d"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#aef93adad47f1f0e2c97848583748831d">getImageSize</a> ()</td></tr>
<tr class="memdesc:aef93adad47f1f0e2c97848583748831d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the total number of cipher blocks the image consumes. <br /></td></tr>
<tr class="separator:aef93adad47f1f0e2c97848583748831d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa468d250328b0e4db96da7cc872aa2db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa468d250328b0e4db96da7cc872aa2db"></a>
virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#aa468d250328b0e4db96da7cc872aa2db">getFileExtension</a> () const </td></tr>
<tr class="memdesc:aa468d250328b0e4db96da7cc872aa2db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the preferred ".sb" extension for Encore boot images. <br /></td></tr>
<tr class="separator:aa468d250328b0e4db96da7cc872aa2db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb71b389067451ed4fe020c431b94262"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb71b389067451ed4fe020c431b94262"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#acb71b389067451ed4fe020c431b94262">debugPrint</a> () const </td></tr>
<tr class="memdesc:acb71b389067451ed4fe020c431b94262"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print out a string representation of the object. <br /></td></tr>
<tr class="separator:acb71b389067451ed4fe020c431b94262"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Sections</div></td></tr>
<tr class="memitem:a5ce1eb45afceb8587042380ae050f63a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#a5ce1eb45afceb8587042380ae050f63a">addSection</a> (<a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html">Section</a> *newSection)</td></tr>
<tr class="separator:a5ce1eb45afceb8587042380ae050f63a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac77d897d85dae4577756427900623e0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac77d897d85dae4577756427900623e0b"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><b>sectionCount</b> () const </td></tr>
<tr class="separator:ac77d897d85dae4577756427900623e0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0997b2ced2ec59729fb823aea3bcc043"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0997b2ced2ec59729fb823aea3bcc043"></a>
<a class="el" href="classelftosb_1_1_encore_boot_image.html#a085b76c76f4df91c5328e2d4a0f30705">section_iterator_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>beginSection</b> ()</td></tr>
<tr class="separator:a0997b2ced2ec59729fb823aea3bcc043"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a741e99405f794e8db50a917ca859d11a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a741e99405f794e8db50a917ca859d11a"></a>
<a class="el" href="classelftosb_1_1_encore_boot_image.html#a085b76c76f4df91c5328e2d4a0f30705">section_iterator_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>endSection</b> ()</td></tr>
<tr class="separator:a741e99405f794e8db50a917ca859d11a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacf6237152492108dc3d3ff6676b1390"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aacf6237152492108dc3d3ff6676b1390"></a>
<a class="el" href="classelftosb_1_1_encore_boot_image.html#ab5d7245a268bc6b6bf1acff201509966">const_section_iterator_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>beginSection</b> () const </td></tr>
<tr class="separator:aacf6237152492108dc3d3ff6676b1390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b1be4e49d44941fb0ffd51261ec4b96"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b1be4e49d44941fb0ffd51261ec4b96"></a>
<a class="el" href="classelftosb_1_1_encore_boot_image.html#ab5d7245a268bc6b6bf1acff201509966">const_section_iterator_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>endSection</b> () const </td></tr>
<tr class="separator:a9b1be4e49d44941fb0ffd51261ec4b96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed5f2519b7f300398d9a6a9124bcbc92"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed5f2519b7f300398d9a6a9124bcbc92"></a>
<a class="el" href="classelftosb_1_1_encore_boot_image.html#a085b76c76f4df91c5328e2d4a0f30705">section_iterator_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>findSection</b> (<a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html">Section</a> *section)</td></tr>
<tr class="separator:aed5f2519b7f300398d9a6a9124bcbc92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bb1b5619f290a32cbb013e4ebf312d6"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#a5bb1b5619f290a32cbb013e4ebf312d6">getSectionOffset</a> (<a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html">Section</a> *section)</td></tr>
<tr class="memdesc:a5bb1b5619f290a32cbb013e4ebf312d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the starting block number for the given section.  <a href="#a5bb1b5619f290a32cbb013e4ebf312d6">More...</a><br /></td></tr>
<tr class="separator:a5bb1b5619f290a32cbb013e4ebf312d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Encryption keys</div></td></tr>
<tr class="memitem:a0e288ed18e97c943f7f3c64218929f77"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e288ed18e97c943f7f3c64218929f77"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>addKey</b> (const <a class="el" href="class_a_e_s_key.html">AES128Key</a> &amp;newKey)</td></tr>
<tr class="separator:a0e288ed18e97c943f7f3c64218929f77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80dc6d64d768d162eda1f0589aca1667"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80dc6d64d768d162eda1f0589aca1667"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><b>keyCount</b> () const </td></tr>
<tr class="separator:a80dc6d64d768d162eda1f0589aca1667"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a616c3fac4d959ebb4eb6c3863dac9ceb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a616c3fac4d959ebb4eb6c3863dac9ceb"></a>
<a class="el" href="classelftosb_1_1_encore_boot_image.html#ab81e367ac664f6c0057eed1116706c33">key_iterator_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>beginKeys</b> ()</td></tr>
<tr class="separator:a616c3fac4d959ebb4eb6c3863dac9ceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac04538eda2c2a616e4a11eefc0bc6a66"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac04538eda2c2a616e4a11eefc0bc6a66"></a>
<a class="el" href="classelftosb_1_1_encore_boot_image.html#ab81e367ac664f6c0057eed1116706c33">key_iterator_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>endKeys</b> ()</td></tr>
<tr class="separator:ac04538eda2c2a616e4a11eefc0bc6a66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d182a7c4bff43c04b35f75b0461673f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d182a7c4bff43c04b35f75b0461673f"></a>
<a class="el" href="classelftosb_1_1_encore_boot_image.html#a50defdef155d148db068e295150e17df">const_key_iterator_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>beginKeys</b> () const </td></tr>
<tr class="separator:a8d182a7c4bff43c04b35f75b0461673f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44d2144cb07c3f3c6337c57a79ad125c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44d2144cb07c3f3c6337c57a79ad125c"></a>
<a class="el" href="classelftosb_1_1_encore_boot_image.html#a50defdef155d148db068e295150e17df">const_key_iterator_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>endKeys</b> () const </td></tr>
<tr class="separator:a44d2144cb07c3f3c6337c57a79ad125c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae365385ce4510fe6358d339aade6cb43"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae365385ce4510fe6358d339aade6cb43"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#ae365385ce4510fe6358d339aade6cb43">isEncrypted</a> () const </td></tr>
<tr class="memdesc:ae365385ce4510fe6358d339aade6cb43"><td class="mdescLeft">&#160;</td><td class="mdescRight">The image is encrypted if there is at least one key. <br /></td></tr>
<tr class="separator:ae365385ce4510fe6358d339aade6cb43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Versions</div></td></tr>
<tr class="memitem:ac6051cdec1627675089ab7f4c84181a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac6051cdec1627675089ab7f4c84181a1"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>setProductVersion</b> (const <a class="el" href="structelftosb_1_1version__t.html">version_t</a> &amp;version)</td></tr>
<tr class="separator:ac6051cdec1627675089ab7f4c84181a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47b4ff48e02df96cd543824954371b6f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47b4ff48e02df96cd543824954371b6f"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>setComponentVersion</b> (const <a class="el" href="structelftosb_1_1version__t.html">version_t</a> &amp;version)</td></tr>
<tr class="separator:a47b4ff48e02df96cd543824954371b6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Flags</div></td></tr>
<tr class="memitem:a3f17ac38644325db699203427ff7cc9b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f17ac38644325db699203427ff7cc9b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setFlags</b> (uint16_t flags)</td></tr>
<tr class="separator:a3f17ac38644325db699203427ff7cc9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a244060fae38302a090dcb22b2c415cce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a244060fae38302a090dcb22b2c415cce"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>getFlags</b> () const </td></tr>
<tr class="separator:a244060fae38302a090dcb22b2c415cce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Output</div></td></tr>
<tr class="memitem:ae8f073b4fe340ad0864e088746375305"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#ae8f073b4fe340ad0864e088746375305">writeToStream</a> (std::ostream &amp;stream)</td></tr>
<tr class="memdesc:ae8f073b4fe340ad0864e088746375305"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write the boot image to an output stream.  <a href="#ae8f073b4fe340ad0864e088746375305">More...</a><br /></td></tr>
<tr class="separator:ae8f073b4fe340ad0864e088746375305"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classelftosb_1_1_boot_image"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classelftosb_1_1_boot_image')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classelftosb_1_1_boot_image.html">elftosb::BootImage</a></td></tr>
<tr class="memitem:aeddebff1301da30a651ee1cdd05abbe2 inherit pub_methods_classelftosb_1_1_boot_image"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeddebff1301da30a651ee1cdd05abbe2"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_boot_image.html#aeddebff1301da30a651ee1cdd05abbe2">BootImage</a> ()</td></tr>
<tr class="memdesc:aeddebff1301da30a651ee1cdd05abbe2 inherit pub_methods_classelftosb_1_1_boot_image"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:aeddebff1301da30a651ee1cdd05abbe2 inherit pub_methods_classelftosb_1_1_boot_image"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6b430732e272b586ce7447dc1acce63 inherit pub_methods_classelftosb_1_1_boot_image"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6b430732e272b586ce7447dc1acce63"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_boot_image.html#aa6b430732e272b586ce7447dc1acce63">~BootImage</a> ()</td></tr>
<tr class="memdesc:aa6b430732e272b586ce7447dc1acce63 inherit pub_methods_classelftosb_1_1_boot_image"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:aa6b430732e272b586ce7447dc1acce63 inherit pub_methods_classelftosb_1_1_boot_image"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a047dafbede5d40f1732ef73541c540df"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a047dafbede5d40f1732ef73541c540df"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>prepareImageHeader</b> (<a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1boot__image__header__t">boot_image_header_t</a> &amp;header)</td></tr>
<tr class="separator:a047dafbede5d40f1732ef73541c540df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9059a750946546a580a84fc94362209"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#af9059a750946546a580a84fc94362209">getTimestamp</a> ()</td></tr>
<tr class="separator:af9059a750946546a580a84fc94362209"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4fd2b9c679938ec3e189352f65b362d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html">Section</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#aa4fd2b9c679938ec3e189352f65b362d">findFirstBootableSection</a> ()</td></tr>
<tr class="separator:aa4fd2b9c679938ec3e189352f65b362d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23ce0c7f23992826b1354cb1a1e05c19"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#a23ce0c7f23992826b1354cb1a1e05c19">getPadBlockCountForSection</a> (<a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html">Section</a> *section, unsigned offset)</td></tr>
<tr class="separator:a23ce0c7f23992826b1354cb1a1e05c19"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:adbeafb0b4b3d7f918d3086cd91c14c5d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adbeafb0b4b3d7f918d3086cd91c14c5d"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#adbeafb0b4b3d7f918d3086cd91c14c5d">m_headerFlags</a></td></tr>
<tr class="memdesc:adbeafb0b4b3d7f918d3086cd91c14c5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags field in the boot image header. <br /></td></tr>
<tr class="separator:adbeafb0b4b3d7f918d3086cd91c14c5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2552a17e499f822d987569a3205583a7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2552a17e499f822d987569a3205583a7"></a>
<a class="el" href="structelftosb_1_1version__t.html">version_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#a2552a17e499f822d987569a3205583a7">m_productVersion</a></td></tr>
<tr class="memdesc:a2552a17e499f822d987569a3205583a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Product version. <br /></td></tr>
<tr class="separator:a2552a17e499f822d987569a3205583a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e67153eaf06a03f43116d3444d38328"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e67153eaf06a03f43116d3444d38328"></a>
<a class="el" href="structelftosb_1_1version__t.html">version_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#a4e67153eaf06a03f43116d3444d38328">m_componentVersion</a></td></tr>
<tr class="memdesc:a4e67153eaf06a03f43116d3444d38328"><td class="mdescLeft">&#160;</td><td class="mdescRight">Component version. <br /></td></tr>
<tr class="separator:a4e67153eaf06a03f43116d3444d38328"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76854f51e9bd7c433e200f8d16d64841"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76854f51e9bd7c433e200f8d16d64841"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#a76854f51e9bd7c433e200f8d16d64841">m_driveTag</a></td></tr>
<tr class="memdesc:a76854f51e9bd7c433e200f8d16d64841"><td class="mdescLeft">&#160;</td><td class="mdescRight">System drive tag for this boot image. <br /></td></tr>
<tr class="separator:a76854f51e9bd7c433e200f8d16d64841"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0472cc0e09c8f89678924443b8ea12fc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0472cc0e09c8f89678924443b8ea12fc"></a>
<a class="el" href="classelftosb_1_1_encore_boot_image.html#aeadee36826ff7ea7377658e83073a9ee">section_list_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#a0472cc0e09c8f89678924443b8ea12fc">m_sections</a></td></tr>
<tr class="memdesc:a0472cc0e09c8f89678924443b8ea12fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sections contained in this image. <br /></td></tr>
<tr class="separator:a0472cc0e09c8f89678924443b8ea12fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adeeed40cfd2343cbfbda1a8d9e25336e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adeeed40cfd2343cbfbda1a8d9e25336e"></a>
<a class="el" href="classelftosb_1_1_encore_boot_image.html#a9fd906e0ec71d651a4892d14ec252c84">key_list_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#adeeed40cfd2343cbfbda1a8d9e25336e">m_keys</a></td></tr>
<tr class="memdesc:adeeed40cfd2343cbfbda1a8d9e25336e"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of key encryption keys. If empty, the image is unencrypted. <br /></td></tr>
<tr class="separator:adeeed40cfd2343cbfbda1a8d9e25336e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29adb78a51993503262148bf65d802d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a29adb78a51993503262148bf65d802d3"></a>
<a class="el" href="class_a_e_s_key.html">AES128Key</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_encore_boot_image.html#a29adb78a51993503262148bf65d802d3">m_sessionKey</a></td></tr>
<tr class="memdesc:a29adb78a51993503262148bf65d802d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Session key we're using. <br /></td></tr>
<tr class="separator:a29adb78a51993503262148bf65d802d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Class to manage Encore boot image files. </p>
<p>Initially this class will only support generation of boot images, but its design will facilitate the addition of the ability to read an image and examine its contents.</p>
<p>A boot image is composed of the following regions:</p><ul>
<li>Header</li>
<li><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html" title="Base class for a section of an Encore boot image. ">Section</a> table</li>
<li>Key dictionary</li>
<li><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html" title="Base class for a section of an Encore boot image. ">Section</a> data</li>
<li>Authentication</li>
</ul>
<p>Multiple sections are within a boot image are fully supported. Two general types of sections are supported with this class. Bootable sections, represented by the <a class="el" href="classelftosb_1_1_encore_boot_image_1_1_boot_section.html" title="A bootable section of an Encore boot image. ">EncoreBootImage::BootSection</a> class, contain a sequence of commands to be interpreted by the boot ROM. Data sections are represented by the <a class="el" href="classelftosb_1_1_encore_boot_image_1_1_data_section.html" title="A non-bootable section of an Encore boot image. ">EncoreBootImage::DataSection</a> class and can contain any arbitrary data.</p>
<p>An image can either be encrypted or unencrypted. The image uses a session key, or DEK (data encryption key), and the key dictionary to support any number of keys using a single image. The header and section table are always unencrypted even in encrypted images. This allows host utilities to access the individual sections without needing to have access to an encryption key.</p>
<p>To construct a boot image, first create an instance of <a class="el" href="classelftosb_1_1_encore_boot_image.html" title="Class to manage Encore boot image files. ">EncoreBootImage</a>. Then create instances of the <a class="el" href="classelftosb_1_1_encore_boot_image_1_1_boot_section.html" title="A bootable section of an Encore boot image. ">EncoreBootImage::BootSection</a> or <a class="el" href="classelftosb_1_1_encore_boot_image_1_1_data_section.html" title="A non-bootable section of an Encore boot image. ">EncoreBootImage::DataSection</a> for each of the sections in the image. For bootable sections, create and add the desired boot command objects. These are all subclasses of <a class="el" href="classelftosb_1_1_encore_boot_image_1_1_boot_command.html" title="Abstract base class for all bootloader commands. ">EncoreBootImage::BootCommand</a>.</p>
<p>If the boot image is to be encrypted, you need to add keys, which are instances of the AES128Key class. If no keys are added, the entire boot image will be unencrypted.</p>
<p>When the image is fully constructed, it can be written to any std::ostream with a call to <a class="el" href="classelftosb_1_1_encore_boot_image.html#ae8f073b4fe340ad0864e088746375305" title="Write the boot image to an output stream. ">writeToStream()</a>. The same image can be written to streams any number of times. </p>
</div><hr/><h2 class="groupheader">Class Documentation</h2>
<a name="structelftosb_1_1_encore_boot_image_1_1boot__command__t" id="structelftosb_1_1_encore_boot_image_1_1boot__command__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct elftosb::EncoreBootImage::boot_command_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Structure for a Piano bootloader command. </p>
<p>Each command is composed of a fixed length header of 16 bytes. This happens to be the size of a cipher block. Most commands will only require the header.</p>
<p>But some commands, i.e. the "load data" command, may require additional arbitrary amounts of data. This data is packed into the N cipher blocks that immediately follow the command header. If the length of the data is not divisible by 16, then random (not zero!) pad bytes will be added. </p>
</div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aaa162711561c4bf4bfa339ecc5f51cdd"></a>uint32_t</td>
<td class="fieldname">
m_address</td>
<td class="fielddoc">
Target address. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="affb0bf335a8451706293d94b51946e11"></a>uint8_t</td>
<td class="fieldname">
m_checksum</td>
<td class="fielddoc">
Simple checksum over other command fields. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a050eb0cc46b5e1020023f6ee29dd4f36"></a>uint32_t</td>
<td class="fieldname">
m_count</td>
<td class="fielddoc">
Number of bytes on which to operate. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa48307f8a58d0d01b1fb7dbfbcc38ace"></a>uint32_t</td>
<td class="fieldname">
m_data</td>
<td class="fielddoc">
Additional data used by certain commands. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1f1e506925fb4e1b56a921b8681dcdfc"></a>uint16_t</td>
<td class="fieldname">
m_flags</td>
<td class="fielddoc">
Flags for this command. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a03fedc91e72a5de33eb085fcf9633355"></a>uint8_t</td>
<td class="fieldname">
m_tag</td>
<td class="fielddoc">
Tag telling which command this is. </td></tr>
</table>

</div>
</div>
<a name="structelftosb_1_1_encore_boot_image_1_1boot__image__header__t" id="structelftosb_1_1_encore_boot_image_1_1boot__image__header__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct elftosb::EncoreBootImage::boot_image_header_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Header for the entire boot image. </p>
<p>Fields of this header are arranged so that those used by the bootloader ROM all come first. They are also set up so that all fields are not split across cipher block boundaries. The fields not used by the bootloader are not subject to this restraint.</p>
<p>Image header size is always a round number of cipher blocks. The same also applies to the boot image itself. The padding, held in <a class="el" href="classelftosb_1_1_encore_boot_image.html#a8adbd92461de5570ce43a8ae7fb35dfd" title="Padding to align m_timestamp to long word. ">elftosb::EncoreBootImage::boot_image_header_t::m_padding0</a> and <a class="el" href="classelftosb_1_1_encore_boot_image.html#aecf35ebe852abbe2d7213e24ceb9ccdd" title="Padding to round up to next cipher block. ">elftosb::EncoreBootImage::boot_image_header_t::m_padding1</a> is filled with random bytes.</p>
<p>The DEK dictionary, section table, and each section data region must all start on cipher block boundaries.</p>
<p>This header is not encrypted in the image file.</p>
<p>The m_digest field contains a SHA-1 digest of the fields of the header that follow it. It is the first field in the header so it doesn't change position or split the header in two if fields are added to the header. </p>
</div><div id="dynsection-2" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-2-trigger" src="closed.png" alt="+"/> Collaboration diagram for elftosb::EncoreBootImage::boot_image_header_t:</div>
<div id="dynsection-2-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-2-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structelftosb_1_1_encore_boot_image_1_1boot__image__header__t__coll__graph.svg" width="227" height="156"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="afc172bb82b837a85e110ccce82e9681b"></a>union <a class="el" href="classelftosb_1_1_encore_boot_image.html#unionelftosb_1_1_encore_boot_image_1_1boot__image__header__t_8____unnamed____">boot_image_header_t</a></td>
<td class="fieldname">
__unnamed__</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ad9d8268d81aeaaf20b1640217554c968"></a><a class="el" href="structelftosb_1_1version__t.html">version_t</a></td>
<td class="fieldname">
m_componentVersion</td>
<td class="fielddoc">
Component version. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab6de9b0a7b19ab575dc69e6a1c841a08"></a>uint16_t</td>
<td class="fieldname">
m_driveTag</td>
<td class="fielddoc">
Drive tag for the system drive which this boot image belongs to. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab8298bb404949aca90edd839b690337a"></a>section_id_t</td>
<td class="fieldname">
m_firstBootableSectionID</td>
<td class="fielddoc">
ID of section to start booting from. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a31105ca4227cb4af2d856acc4ef128eb"></a>uint32_t</td>
<td class="fieldname">
m_firstBootTagBlock</td>
<td class="fielddoc">
Offset from start of file to the first boot tag, in blocks. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ade1b69371717ca2cb04fc525eadec849"></a>uint16_t</td>
<td class="fieldname">
m_flags</td>
<td class="fielddoc">
Flags or options associated with the entire image. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac74a1d4c2ab0ff4f659cad67d4a703e8"></a>uint16_t</td>
<td class="fieldname">
m_headerBlocks</td>
<td class="fielddoc">
Size of this header, including this size word, in blocks. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a0a63d907779378372cc48443d0263711"></a>uint32_t</td>
<td class="fieldname">
m_imageBlocks</td>
<td class="fielddoc">
Size of entire image in blocks. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="acdca7fd3840a90881556c6adbe74965a"></a>uint16_t</td>
<td class="fieldname">
m_keyCount</td>
<td class="fielddoc">
Number of entries in DEK dictionary. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a752397a43efb165be2a01a4160c1d63a"></a>uint16_t</td>
<td class="fieldname">
m_keyDictionaryBlock</td>
<td class="fielddoc">
Starting block number for the key dictionary. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa8af7e564a506946f547b62fb5cd7f18"></a>uint8_t</td>
<td class="fieldname">
m_majorVersion</td>
<td class="fielddoc">
Major version for the image format, see <a class="el" href="classelftosb_1_1_encore_boot_image.html#a923b8c5725f62f85c6a557e437b9699da3d2e6182924fe2b2e3abc6c95a94afd4" title="Current boot image major version. ">ROM_BOOT_IMAGE_MAJOR_VERSION</a>. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a7e4ca380d4cca06b5f8a329124acdadd"></a>uint8_t</td>
<td class="fieldname">
m_minorVersion</td>
<td class="fielddoc">
Minor version of the boot image format, see <a class="el" href="classelftosb_1_1_encore_boot_image.html#a923b8c5725f62f85c6a557e437b9699da91f94b3db205d7c04eface71df2bf05a" title="Current boot image minor version. ">ROM_BOOT_IMAGE_MINOR_VERSION</a>. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a8adbd92461de5570ce43a8ae7fb35dfd"></a>uint8_t</td>
<td class="fieldname">
m_padding0[2]</td>
<td class="fielddoc">
Padding to align <a class="el" href="classelftosb_1_1_encore_boot_image.html#a586a13047317d32a4e6b4f3f8bd49a88" title="Timestamp when image was generated in microseconds since 1-1-2000. ">m_timestamp</a> to long word. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aecf35ebe852abbe2d7213e24ceb9ccdd"></a>uint8_t</td>
<td class="fieldname">
m_padding1[6]</td>
<td class="fielddoc">
Padding to round up to next cipher block. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a44933f9601e8eef2a81c3e2e751dcf49"></a><a class="el" href="structelftosb_1_1version__t.html">version_t</a></td>
<td class="fieldname">
m_productVersion</td>
<td class="fielddoc">
Product version. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a23f1ea8999c4485f5922f78aa5ea99f9"></a>uint16_t</td>
<td class="fieldname">
m_sectionCount</td>
<td class="fielddoc">
Number of section headers in this table. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a4e761570f44928f4e9917c05765bbb48"></a>uint16_t</td>
<td class="fieldname">
m_sectionHeaderSize</td>
<td class="fielddoc">
Size in blocks of a section header. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a078eb86031a0a1e656abcf4a11d792a5"></a>uint8_t</td>
<td class="fieldname">
m_signature[4]</td>
<td class="fielddoc">
'STMP', see <a class="el" href="classelftosb_1_1_encore_boot_image.html#a923b8c5725f62f85c6a557e437b9699da8b26ac6aadd820c16038228cae672974" title="Signature in elftosb::EncoreBootImage::boot_image_header_t::m_signature. ">ROM_IMAGE_HEADER_SIGNATURE</a>. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aee40ec0ce2885c29f7fbc8f17d1e51ca"></a>uint8_t</td>
<td class="fieldname">
m_signature2[4]</td>
<td class="fielddoc">
<p>Second signature to distinguish this .sb format from the 36xx format, see <a class="el" href="classelftosb_1_1_encore_boot_image.html#a923b8c5725f62f85c6a557e437b9699daf6e8d5cc87e761073ba57f223473dc95" title="Value for elftosb::EncoreBootImage::boot_image_header_t::m_signature2;. ">ROM_IMAGE_HEADER_SIGNATURE2</a>. </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a586a13047317d32a4e6b4f3f8bd49a88"></a>uint64_t</td>
<td class="fieldname">
m_timestamp</td>
<td class="fielddoc">
Timestamp when image was generated in microseconds since 1-1-2000. </td></tr>
</table>

</div>
</div>
<a name="unionelftosb_1_1_encore_boot_image_1_1boot__image__header__t_8____unnamed____" id="unionelftosb_1_1_encore_boot_image_1_1boot__image__header__t_8____unnamed____"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">union elftosb::EncoreBootImage::boot_image_header_t.__unnamed__</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"></div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a21b30963ae439fcb192956bceab47a24"></a><a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1boot__image__header__t_8____unnamed_____8____unnamed____">__unnamed__</a></td>
<td class="fieldname">
__unnamed__</td>
<td class="fielddoc">
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a99a3fafd8ef17e784808067bef8a224f"></a>sha1_digest_t</td>
<td class="fieldname">
m_digest</td>
<td class="fielddoc">
SHA-1 digest of image header. Also used as the crypto IV. </td></tr>
</table>

</div>
</div>
<a name="structelftosb_1_1_encore_boot_image_1_1boot__image__header__t_8____unnamed_____8____unnamed____" id="structelftosb_1_1_encore_boot_image_1_1boot__image__header__t_8____unnamed_____8____unnamed____"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct elftosb::EncoreBootImage::boot_image_header_t.__unnamed__.__unnamed__</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"></div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac3991dd66f9aeb163c2a65813dc136f5"></a>uint8_t</td>
<td class="fieldname">
m_extra[4]</td>
<td class="fielddoc">
The leftover top four bytes of the SHA-1 digest. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a98ab6d833cb6d80d38329f424e8c1634"></a>cipher_block_t</td>
<td class="fieldname">
m_iv</td>
<td class="fielddoc">
The first 16 bytes of the digest form the initialization vector. </td></tr>
</table>

</div>
</div>
<a name="structelftosb_1_1_encore_boot_image_1_1dek__dictionary__entry__t" id="structelftosb_1_1_encore_boot_image_1_1dek__dictionary__entry__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct elftosb::EncoreBootImage::dek_dictionary_entry_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Entry in <a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1dek__dictionary__t" title="The DEK dictionary always follows the image header, in the next cipher block. ">elftosb::EncoreBootImage::dek_dictionary_t</a>. </p>
<p>The m_dek field in each entry is encrypted using the KEK with the m_iv field from the image header as the IV. </p>
</div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa5100e9e32b54d3e0e5db28fa239b648"></a>aes128_key_t</td>
<td class="fieldname">
m_dek</td>
<td class="fielddoc">
AES-128 key with which the image payload is encrypted. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a7e56c9f17b7334a29159ed999894db0d"></a>cipher_block_t</td>
<td class="fieldname">
m_mac</td>
<td class="fielddoc">
CBC-MAC of the header. </td></tr>
</table>

</div>
</div>
<a name="structelftosb_1_1_encore_boot_image_1_1dek__dictionary__t" id="structelftosb_1_1_encore_boot_image_1_1dek__dictionary__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct elftosb::EncoreBootImage::dek_dictionary_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>The DEK dictionary always follows the image header, in the next cipher block. </p>
</div><div id="dynsection-3" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-3-trigger" src="closed.png" alt="+"/> Collaboration diagram for elftosb::EncoreBootImage::dek_dictionary_t:</div>
<div id="dynsection-3-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-3-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structelftosb_1_1_encore_boot_image_1_1dek__dictionary__t__coll__graph.svg" width="182" height="156"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="afd0f3a2900a2e9f001263b589c760da1"></a><a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1dek__dictionary__entry__t">dek_dictionary_entry_t</a></td>
<td class="fieldname">
m_entries[1]</td>
<td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<a name="structelftosb_1_1_encore_boot_image_1_1section__header__t" id="structelftosb_1_1_encore_boot_image_1_1section__header__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct elftosb::EncoreBootImage::section_header_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Information about each section, held in the section table. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1section__table__t" title="An index of all sections within the boot image. ">section_table_t</a> </dd></dl>
</div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a43422e088692b0eccc8922873724d03a"></a>uint32_t</td>
<td class="fieldname">
m_flags</td>
<td class="fielddoc">
<a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html" title="Base class for a section of an Encore boot image. ">Section</a> flags. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab1f2fe1d089e0f9c03a0d171288dd82b"></a>uint32_t</td>
<td class="fieldname">
m_length</td>
<td class="fielddoc">
Size of section data in blocks. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac62ee84484f039c11796bb90f49f4c61"></a>uint32_t</td>
<td class="fieldname">
m_offset</td>
<td class="fielddoc">
Offset to section data from start of image in blocks. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a2bd5150364ac9ca9544a084d6fc9e5cd"></a>uint32_t</td>
<td class="fieldname">
m_tag</td>
<td class="fielddoc">
Unique identifier for this section. High bit must be zero. </td></tr>
</table>

</div>
</div>
<a name="structelftosb_1_1_encore_boot_image_1_1section__table__t" id="structelftosb_1_1_encore_boot_image_1_1section__table__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct elftosb::EncoreBootImage::section_table_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>An index of all sections within the boot image. </p>
<p>The section table will be padded so that its length is divisible by 16 (if necessary). Actually, each entry is padded to be a round number of cipher blocks, which automatically makes this true for the entire table.</p>
<p>Sections are ordered as they appear in this table, but are identified by the <a class="el" href="classelftosb_1_1_encore_boot_image.html#a2bd5150364ac9ca9544a084d6fc9e5cd" title="Unique identifier for this section. High bit must be zero. ">elftosb::EncoreBootImage::section_header_t::m_tag</a>.</p>
<p>The data for each section in encrypted separately with the DEK in CBC mode using m_iv for the IV. This allows the ROM to jump to any given section without needing to read the previous cipher block. In addition, the data for each section is prefixed with a "boot tag", which describes the section which follows it. Boot tags are the same format as a boot command, and are described by the <a class="el" href="classelftosb_1_1_encore_boot_image_1_1_tag_command.html" title="Section tag bootloader command. ">EncoreBootImage::TagCommand</a> class.</p>
<p>The section table starts immediately after the image header, coming before the key dictionary (if present). The section table is not encrypted. </p>
</div><div id="dynsection-4" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-4-trigger" src="closed.png" alt="+"/> Collaboration diagram for elftosb::EncoreBootImage::section_table_t:</div>
<div id="dynsection-4-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-4-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structelftosb_1_1_encore_boot_image_1_1section__table__t__coll__graph.svg" width="182" height="156"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="afcc9bfe2d308c16215d7c60633c07735"></a><a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1section__header__t">section_header_t</a></td>
<td class="fieldname">
m_sections[1]</td>
<td class="fielddoc">
The table entries. </td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="a322b233cfa40e2e7f074d006ef2d83a3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flag constants for the m_flags field of <a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1boot__image__header__t" title="Header for the entire boot image. ">elftosb::EncoreBootImage::boot_image_header_t</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a322b233cfa40e2e7f074d006ef2d83a3ae65e961fe221cf36b45883b9d58aa80f"></a>ROM_DISPLAY_PROGRESS&#160;</td><td class="fielddoc">
<p>Print progress reports. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a322b233cfa40e2e7f074d006ef2d83a3a35a8c8a5b113b3320c2405026d77d534"></a>ROM_VERBOSE_PROGRESS&#160;</td><td class="fielddoc">
<p>Progress reports are verbose. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a923b8c5725f62f85c6a557e437b9699d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a923b8c5725f62f85c6a557e437b9699da8b26ac6aadd820c16038228cae672974"></a>ROM_IMAGE_HEADER_SIGNATURE&#160;</td><td class="fielddoc">
<p>Signature in <a class="el" href="classelftosb_1_1_encore_boot_image.html#a078eb86031a0a1e656abcf4a11d792a5" title="&#39;STMP&#39;, see ROM_IMAGE_HEADER_SIGNATURE. ">elftosb::EncoreBootImage::boot_image_header_t::m_signature</a>. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a923b8c5725f62f85c6a557e437b9699daf6e8d5cc87e761073ba57f223473dc95"></a>ROM_IMAGE_HEADER_SIGNATURE2&#160;</td><td class="fielddoc">
<p><a class="el" href="classelftosb_1_1_value.html" title="Abstract base class for values of arbitrary types. ">Value</a> for <a class="el" href="classelftosb_1_1_encore_boot_image.html#aee40ec0ce2885c29f7fbc8f17d1e51ca">elftosb::EncoreBootImage::boot_image_header_t::m_signature2</a>;. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a923b8c5725f62f85c6a557e437b9699da3d2e6182924fe2b2e3abc6c95a94afd4"></a>ROM_BOOT_IMAGE_MAJOR_VERSION&#160;</td><td class="fielddoc">
<p>Current boot image major version. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a923b8c5725f62f85c6a557e437b9699da91f94b3db205d7c04eface71df2bf05a"></a>ROM_BOOT_IMAGE_MINOR_VERSION&#160;</td><td class="fielddoc">
<p>Current boot image minor version. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a8cae9f81a039661c829ca51d954e3560"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a8cae9f81a039661c829ca51d954e3560ac6848708150e43ac9a8302b8a00dcc1f"></a>BOOT_IMAGE_MINIMUM_SECTION_ALIGNMENT&#160;</td><td class="fielddoc">
<p>Minimum alignment for a section is 16 bytes. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ab26b61b6441c5467c6d4cddb1ff76690"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html" title="Base class for a section of an Encore boot image. ">Section</a> flags constants for the m_flags field of <a class="el" href="classelftosb_1_1_encore_boot_image.html#structelftosb_1_1_encore_boot_image_1_1section__header__t" title="Information about each section, held in the section table. ">elftosb::EncoreBootImage::section_header_t</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ab26b61b6441c5467c6d4cddb1ff76690a94aa6b74f170c47cae4cf0b3b9c81994"></a>ROM_SECTION_BOOTABLE&#160;</td><td class="fielddoc">
<p>The section contains bootloader commands. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ab26b61b6441c5467c6d4cddb1ff76690a576b9de05acd56d12c6171b0ad67353f"></a>ROM_SECTION_CLEARTEXT&#160;</td><td class="fielddoc">
<p>The section is unencrypted. Applies only if the rest of the boot image is encrypted. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="aaf67c041c6d0586c79b85e6556f97dde"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="class_bootloader.html" title="Bootloader class. ">Bootloader</a> command tag constants. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="aaf67c041c6d0586c79b85e6556f97ddea3dbce29fdf6055d2f3e21e9360ab921c"></a>ROM_NOP_CMD&#160;</td><td class="fielddoc">
<p>A no-op command. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aaf67c041c6d0586c79b85e6556f97ddea360fe5535a567967683170c50d7411a7"></a>ROM_TAG_CMD&#160;</td><td class="fielddoc">
<p><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html" title="Base class for a section of an Encore boot image. ">Section</a> tag command. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aaf67c041c6d0586c79b85e6556f97ddea482ff1ec8ceb69c4d6e7ba8e2944dea1"></a>ROM_LOAD_CMD&#160;</td><td class="fielddoc">
<p>Load data command. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aaf67c041c6d0586c79b85e6556f97ddea41cf0dfec1eea6f229d3eb2163ab3404"></a>ROM_FILL_CMD&#160;</td><td class="fielddoc">
<p>Pattern fill command. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aaf67c041c6d0586c79b85e6556f97ddeaa530f91c73779b2c26dda739b9ea157d"></a>ROM_JUMP_CMD&#160;</td><td class="fielddoc">
<p>Jump to address command. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aaf67c041c6d0586c79b85e6556f97ddeadf5042cf30c7a189ca9e435cf55e07ce"></a>ROM_CALL_CMD&#160;</td><td class="fielddoc">
<p>Call function command. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aaf67c041c6d0586c79b85e6556f97ddea4123c44ce1b76a8b2b4897e212f462b8"></a>ROM_MODE_CMD&#160;</td><td class="fielddoc">
<p>Change boot mode command. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aaf67c041c6d0586c79b85e6556f97ddead0f7be982547d05640e7b9c02ecd6f8d"></a>ROM_ERASE_CMD&#160;</td><td class="fielddoc">
<p>Flash erase command. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aaf67c041c6d0586c79b85e6556f97ddea32b7c944cb953f24f6998ad5eb9f835d"></a>ROM_RESET_CMD&#160;</td><td class="fielddoc">
<p>Reset command. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aaf67c041c6d0586c79b85e6556f97ddea231273ec046a1a6c72b79e9211ada60c"></a>ROM_MEM_ENABLE_CMD&#160;</td><td class="fielddoc">
<p>Memory Enable command. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aaf67c041c6d0586c79b85e6556f97ddead71bc49b8e71814f167d2f8d268d546d"></a>ROM_PROG_CMD&#160;</td><td class="fielddoc">
<p>Program persistent bits command. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ac9bb85f37a25381b15a7e450921e38b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flag field constants for <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddea360fe5535a567967683170c50d7411a7" title="Section tag command. ">ROM_TAG_CMD</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ac9bb85f37a25381b15a7e450921e38b8ad76d5ef3c054c23e02c62767d64d2591"></a>ROM_LAST_TAG&#160;</td><td class="fielddoc">
<p>This tag command is the last one in the image. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="afb96656be23af34be4b39d8180896933"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flag field constants for <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddea482ff1ec8ceb69c4d6e7ba8e2944dea1" title="Load data command. ">ROM_LOAD_CMD</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="afb96656be23af34be4b39d8180896933ab977279a608b195d009d18365cae1b6f"></a>ROM_LOAD_DCD&#160;</td><td class="fielddoc">
<p>Execute the DCD after loading completes. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="aa09338280eb11c08be1cc915280609f2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flag field constants for <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddea41cf0dfec1eea6f229d3eb2163ab3404" title="Pattern fill command. ">ROM_FILL_CMD</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="aa09338280eb11c08be1cc915280609f2a9511d4af09fd50de5e8a2e50e72f8908"></a>ROM_FILL_BYTE&#160;</td><td class="fielddoc">
<p>Fill with byte sized pattern. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aa09338280eb11c08be1cc915280609f2a5d37310f36e10837bd53a2cd86a73529"></a>ROM_FILL_HALF_WORD&#160;</td><td class="fielddoc">
<p>Fill with half-word sized pattern. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aa09338280eb11c08be1cc915280609f2a8e10e316e7030ade208692a0589ee1f8"></a>ROM_FILL_WORD&#160;</td><td class="fielddoc">
<p>Fill with word sized pattern. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ac899003d6585e7dad5be1d4c0b2fb60e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flag field constants for <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddeaa530f91c73779b2c26dda739b9ea157d" title="Jump to address command. ">ROM_JUMP_CMD</a> and <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddeadf5042cf30c7a189ca9e435cf55e07ce" title="Call function command. ">ROM_CALL_CMD</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ac899003d6585e7dad5be1d4c0b2fb60eadcaf9e745066f375edab08f4fb5fe93d"></a>ROM_HAB_EXEC&#160;</td><td class="fielddoc">
<p>Changes jump or call command to a HAB jump or call. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ac899003d6585e7dad5be1d4c0b2fb60ea1ecdb39f167619a04751f3110cb6d52a"></a>ROM_JUMP_SP_MASK&#160;</td><td class="fielddoc">
<p>Initial stack pointer is specified for jump command. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a0f837b7d487968fc7a45cd333ad8ddc8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory Controller ID flags field for <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddead0f7be982547d05640e7b9c02ecd6f8d" title="Flash erase command. ">ROM_ERASE_CMD</a> and <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddea231273ec046a1a6c72b79e9211ada60c" title="Memory Enable command. ">ROM_MEM_ENABLE_CMD</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a0f837b7d487968fc7a45cd333ad8ddc8ae389e06924f01e12dbd93d2b36a533c3"></a>ROM_MEM_CTRL_MASK&#160;</td><td class="fielddoc">
<p>Bit mask for mem controller ID. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a0f837b7d487968fc7a45cd333ad8ddc8afa0a272c210488a4842caca93f3c6a1b"></a>ROM_MEM_CTRL_SHIFT&#160;</td><td class="fielddoc">
<p>Bit position of mem controller ID. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a62d2bf49ae747642b23e701d3f241573"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory Space ID flags field. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a62d2bf49ae747642b23e701d3f241573a4f26730cb8c3c5d39acf4c13cd04547f"></a>ROM_MEM_SPACE_MASK&#160;</td><td class="fielddoc">
<p>Bit mask for mem space ID. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a62d2bf49ae747642b23e701d3f241573a55b9cb661d94d6b6ced61619eb95596d"></a>ROM_MEM_SPACE_SHIFT&#160;</td><td class="fielddoc">
<p>Bit position of mem space ID. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a1ec985e228a39441dc3f55486ac2b3f3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flags for the <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddead0f7be982547d05640e7b9c02ecd6f8d" title="Flash erase command. ">ROM_ERASE_CMD</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a1ec985e228a39441dc3f55486ac2b3f3a21317be4b82ca7b7cef1f89ebfc86fc7"></a>ROM_ERASE_ALL_MASK&#160;</td><td class="fielddoc">
<p>Erase all flash instead of just a range. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a1ec985e228a39441dc3f55486ac2b3f3ad59b7b1d4bdd58fc343567f53f5785f4"></a>ROM_ERASE_ALL_UNSECURE_MASK&#160;</td><td class="fielddoc">
<p>Erase all unsecure (available on some Kinetis parts). </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="aedbf37ed729ad7f04f5912f7c384923f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flags for the <a class="el" href="classelftosb_1_1_encore_boot_image.html#aaf67c041c6d0586c79b85e6556f97ddead71bc49b8e71814f167d2f8d268d546d" title="Program persistent bits command. ">ROM_PROG_CMD</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="aedbf37ed729ad7f04f5912f7c384923fa0add3d7a4787059d6abc70c5308b7d5b"></a>ROM_PROG_8BYTE_MASK&#160;</td><td class="fielddoc">
<p>Program 8 bytes instead of 4 bytes. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a373ff82c05565768a7d1d14d558d7f3d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constants for Memory ID. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a373ff82c05565768a7d1d14d558d7f3da82f01c806447b217d0947e64ec24db42"></a>ROM_MEM_ID_QSPI&#160;</td><td class="fielddoc">
<p>External QuadSpi controller. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="afdb9845d3378745374aed342cfae479e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constants for Memory Space. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="afdb9845d3378745374aed342cfae479ea7f81de6ac99a5e1ce383d5b8bc96a16e"></a>ROM_MEM_SPACE_IFR&#160;</td><td class="fielddoc">
<p>IFR memory. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a5ce1eb45afceb8587042380ae050f63a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void EncoreBootImage::addSection </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html">Section</a> *&#160;</td>
          <td class="paramname"><em>newSection</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">std::runtime_error</td><td>Raised if <em>newSection</em> has the same tag as a previously added section. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa4fd2b9c679938ec3e189352f65b362d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html">EncoreBootImage::Section</a> * EncoreBootImage::findFirstBootableSection </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Scans the section list looking for the first section which has the <a class="el" href="classelftosb_1_1_encore_boot_image.html#ab26b61b6441c5467c6d4cddb1ff76690a94aa6b74f170c47cae4cf0b3b9c81994" title="The section contains bootloader commands. ">ROM_SECTION_BOOTABLE</a> flag set on it. </p>

</div>
</div>
<a class="anchor" id="a23ce0c7f23992826b1354cb1a1e05c19"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned EncoreBootImage::getPadBlockCountForSection </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html">Section</a> *&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>offset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Computes the number of blocks of padding required to align <em>section</em> while taking into account the boot tag that gets inserted before the section contents. </p>

</div>
</div>
<a class="anchor" id="a5bb1b5619f290a32cbb013e4ebf312d6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t EncoreBootImage::getSectionOffset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classelftosb_1_1_encore_boot_image_1_1_section.html">Section</a> *&#160;</td>
          <td class="paramname"><em>section</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calculates the starting block number for the given section. </p>
<p>The boot tag for <em>section</em> is taken into account, thus making the result offset point to the first block of the actual section data.</p>
<dl class="section note"><dt>Note</dt><dd>The offset will only be valid if all encryption keys and all sections have already been added to the image. </dd></dl>

</div>
</div>
<a class="anchor" id="af9059a750946546a580a84fc94362209"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t EncoreBootImage::getTimestamp </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns the number of microseconds since 00:00 1-1-2000. In actuality, the timestamp is only accurate to seconds, and is simply extended out to microseconds.</p>
<dl class="bug"><dt><b><a class="el" href="bug.html#_bug000001">Bug:</a></b></dt><dd>The timestamp might be off an hour. </dd></dl>

</div>
</div>
<a class="anchor" id="ae8f073b4fe340ad0864e088746375305"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void EncoreBootImage::writeToStream </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>stream</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write the boot image to an output stream. </p>

<p>Implements <a class="el" href="classelftosb_1_1_boot_image.html#a5432533735fff9ad3156e6fc5b96981c">elftosb::BootImage</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_encore_boot_image_8h_source.html">EncoreBootImage.h</a></li>
<li>EncoreBootImage.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>elftosb</b></li><li class="navelem"><a class="el" href="classelftosb_1_1_encore_boot_image.html">EncoreBootImage</a></li>
    <li class="footer">Generated on Mon Mar 7 2016 16:49:51 for Kinetis Bootloader Host by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
